package com.crm.service;

import com.crm.domain.Clue;
import com.crm.domain.Contract;
import com.crm.dto.CluesStatisticsListDto;
import com.crm.dto.CommonStatisticsPageQueryDto;
import com.crm.dto.ContractStatisticsPageQueryDto;
import com.crm.dto.Vo.*;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

public interface StatsService {

    List<SubjectStatisticsVo> getSubjectStatistics(LocalDateTime beginDateTime, LocalDateTime endDateTime);

    CommonPageQueryVo<Contract> contractPageQuery(ContractStatisticsPageQueryDto contractStatisticsPageQueryDto);

    CommonPageQueryVo<OwnerShipStatisticsVo> deptPageQuery(CommonStatisticsPageQueryDto dto);

    CommonPageQueryVo<CluesStatisticsVo> cluesPageQuery(CluesStatisticsListDto dto);

    ReportStatisticsVo contractStatistics(LocalDateTime beginDateTime, LocalDateTime endDateTime, LocalDate beginCreateTime, LocalDate endCreateTime);

}
